package com.ruoyi.web.controller.mall.salesCoupon.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;

/**
 * 全局优惠券对象 sales_coupon
 * 
 * @author ruoyi
 * @date 2021-01-18
 */
public class SalesCoupon //extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private String id;

    /** 优惠券名称 */
    @Excel(name = "优惠券名称")
    private String name;

    /** 优惠券类型(1-满减) */
    @Excel(name = "优惠券类型(1-满减)")
    private Integer type;

    /** 优惠金额 */
    @Excel(name = "优惠金额")
    private Double money;

    /** 满减满足金额 */
    @Excel(name = "满减满足金额")
    private Double enoughMoney;

    /** 总数量 */
    @Excel(name = "总数量")
    private Long totalNum;

    /** 已发数量 */
    @Excel(name = "已发数量")
    private Long sendNum;

    /** 使用期限起 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "使用期限起", width = 30, dateFormat = "yyyy-MM-dd")
    private Date limitSartat;

    /** 使用期限至 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "使用期限至", width = 30, dateFormat = "yyyy-MM-dd")
    private Date limitEndat;

    /** 允许单人领取数量 */
    @Excel(name = "允许单人领取数量")
    private Long limitNumber;

    /** 发送方式（0：余额购买，1：免费发放） */
    @Excel(name = "发送方式", readConverterExp = "0=：余额购买，1：免费发放")
    private Integer hasScore;

    /** 所需余额 */
    @Excel(name = "所需余额")
    private Double score;

    /** 状态(0可用,1不可用) */
    @Excel(name = "状态(0可用,1不可用)")
    private Integer status;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createAt;

    /** 删除标记 */
    private Integer delFlag;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateAt;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setType(Integer type) 
    {
        this.type = type;
    }

    public Integer getType() 
    {
        return type;
    }
    public void setMoney(Double money) 
    {
        this.money = money;
    }

    public Double getMoney() 
    {
        return money;
    }
    public void setEnoughMoney(Double enoughMoney) 
    {
        this.enoughMoney = enoughMoney;
    }

    public Double getEnoughMoney() 
    {
        return enoughMoney;
    }
    public void setTotalNum(Long totalNum) 
    {
        this.totalNum = totalNum;
    }

    public Long getTotalNum() 
    {
        return totalNum;
    }
    public void setSendNum(Long sendNum) 
    {
        this.sendNum = sendNum;
    }

    public Long getSendNum() 
    {
        return sendNum;
    }
    public void setLimitSartat(Date limitSartat) 
    {
        this.limitSartat = limitSartat;
    }

    public Date getLimitSartat() 
    {
        return limitSartat;
    }
    public void setLimitEndat(Date limitEndat) 
    {
        this.limitEndat = limitEndat;
    }

    public Date getLimitEndat() 
    {
        return limitEndat;
    }
    public void setLimitNumber(Long limitNumber) 
    {
        this.limitNumber = limitNumber;
    }

    public Long getLimitNumber() 
    {
        return limitNumber;
    }
    public void setHasScore(Integer hasScore) 
    {
        this.hasScore = hasScore;
    }

    public Integer getHasScore() 
    {
        return hasScore;
    }
    public void setScore(Double score) 
    {
        this.score = score;
    }

    public Double getScore() 
    {
        return score;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setCreateAt(Date createAt) 
    {
        this.createAt = createAt;
    }

    public Date getCreateAt() 
    {
        return createAt;
    }
    public void setDelFlag(Integer delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() 
    {
        return delFlag;
    }
    public void setUpdateAt(Date updateAt) 
    {
        this.updateAt = updateAt;
    }

    public Date getUpdateAt() 
    {
        return updateAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("type", getType())
            .append("money", getMoney())
            .append("enoughMoney", getEnoughMoney())
            .append("totalNum", getTotalNum())
            .append("sendNum", getSendNum())
            .append("limitSartat", getLimitSartat())
            .append("limitEndat", getLimitEndat())
            .append("limitNumber", getLimitNumber())
            .append("hasScore", getHasScore())
            .append("score", getScore())
            .append("status", getStatus())
            .append("createAt", getCreateAt())
            .append("delFlag", getDelFlag())
            .append("updateAt", getUpdateAt())
            .toString();
    }
}
